100 ; 110 ; 120 ; 130 ; 140 ; GIGA-ASS - SCROLLEDIT V2 150 ;= = = = = = = = = = = = = = = = = 160 ; CODED BY CHRISTIAN THRUM 170 ; (SKYWALKER OF SUNBEAM !) 180 ; DONE IN 1992/1993 !! 190 ; 200 ; 210 ; CHRISTIAN THRUM 220 ; SOPHIENSTR. 14 230 ; 07743 JENA 240 ; TEL: (03641)25958 250 ; 260 ; FINALLY GIGA-ASS RULES ... 270 ; LETS SCRATCH THE 'VIS-ASS' 280 ; TOGETHER !!!! 290 ; (JUST KIDDING!) 300 ; 310 ; 320 ; 330 GETPCLOSEADDY,VAL 340 MID$#VAL 350 (null)ADDY 360 NEW 370 TAB(OBJECTSTART=$7B00 380 +OBJECTSTART 390 USROBJECTSTART 400 TAB(LASTHIGH=$96 410 ; 420 ; 430 ; 440 ; INSTALL/INIT 450 ;============================== 460 ; 470 INSTALL MID$#<(FULLINIT) 480 (null)$8000 490 (null)$84D0 500 (null)$2B 510 MID$#>(FULLINIT) 520 (null)$8001 530 (null)$84D2 540 (null)$9FB8 550 (null)$82E6 560 (null)$2C 570 PEEK#<(INIT) 580 (null)$9FB7 590 (null) 600 (null)$82E5 610 PCLOSE$84AA,$60 620 (null)$8534 630 ; 640 PEEK#>(SETPGE) 650 PCLOSE$9959,<(SETPGE) 660 (null)$995A 670 PCLOSE$94D4,<(SET4) 680 (null)$971E 690 (null)$94D5 700 (null)$971F 710 PCLOSE$82C9,<(ACHECK-1) 720 (null)$82CA 730 PCLOSE$9F72,>(IRQ) 740 PCLOSE$9F75,<(IRQ) 750 PEEK#0 760 MID$INSTTEXT,X 770 (null)*+8 780 (null)$FFD2 790 (null) 800 (null)*-9 810 (null)$2D 820 (null)$33 830 PCLOSE$2E,$A0 840 PCLOSE$34,$7B 850 (null)($0302) 860 ; 870 INSTTEXT 880 NOT"[147]SAVE 890 [165]$22 900 [168]"GIGA-ASS +SEDIT 910 FN$22 920 NOT",8" 930 ; 940 ; 950 +OBJECTSTART+$A0 960 ; 970 ; 980 FULLINIT (null)$849D 990 ; 1000 INIT (null) 1010 PEEK#1 1020 (null)IRQFLAG 1030 (null) 1040 (null)$D4 1050 PEEK#$F3 1060 (null) 1070 (null)$84AB;G-INIT! 1080 MID$#<(TEXT) 1090 LEN#>(TEXT);TEXT 1100 (null)$AB1E;OUTPUT 1110 (null)$A644;NEW 1120 (null)$94BA 1130 PCLOSE$CF,0 1140 PCLOSE$DC0D,$81 1150 MID$#%00000100 1160 (null)$028D 1170 (null)*+5 1180 (null)ALOAD 1190 (null)$8537;CONT INIT 1200 ; 1210 ; 1220 ; 1230 ; IRQ-ROUTINE + KEYCHECK 1240 ;============================== 1250 ; 1260 IRQ PCLOSE$DC0D,1 1270 MID$IRQFLAG 1280 (null)NKJMP 1290 ; 1300 KEY PEEK$C5 1310 TAN#64 1320 (null)KEY1 1330 PCLOSEFFLAG,0 1340 NKJMP (null)NOKEY 1350 ; 1360 KEY1 MID$#%00000100 1370 (null)$028D 1380 (null)FKEY 1390 ; 1400 ; 1410 CKEY (null) 1420 LEN#6 1430 STR$KEYTAB,Y 1440 (null)CKEY2 1450 (null) 1460 (null)*-6 1470 (null)GFKEY 1480 CKEY2 MID$JUMPTAB2,Y 1490 (null) 1500 MID$JUMPTAB1,Y 1510 (null) 1520 (null) 1530 ; 1540 DOWNJUMP (null)DOWN 1550 UPJUMP (null)UP 1560 ; 1570 FKEY TAN#4;F1 1580 (null)UPJUMP 1590 TAN#3;F7 1600 (null)DOWNJUMP 1610 TAN#6;F5 1620 (null)MNETAB 1630 TAN#5;F3 1640 (null)NKJMP 1650 ; 1660 ; 1670 ; TABULATOR 1680 ;=============================== 1690 ; 1700 LATAB (null)CHARNORM 1710 LEN#$05 1720 (null)$E50E 1730 (null)MNETAB2 1740 ; 1750 MNETAB (null)CHARNORM 1760 MID$$033E 1770 (null) 1780 VAL#$05 1790 (null) 1800 (null)$E50E 1810 MNETAB2 (null)ENDIRQ 1820 ; 1830 ; 1840 ; 1850 ; CURSOR HOME / 25TH POS 1860 ;================================ 1870 ; 1880 HOME (null)CHARNORM 1890 (null)$E566 1900 HOME2 (null)NOKEY 1910 ; 1920 THPOS (null)CHARNORM 1930 PEEK#24 1940 LEN#0 1950 (null)$E50C 1960 (null)HOME2 1970 ; 1980 ; 1990 ; SCREEN-EDIT (R,S,L,C) 2000 ;=============================== 2010 ; 2020 SAVE 2030 (null)GETNUMBER 2040 MID$$14 2050 (null)SAVEAD 2060 MID$$15 2070 (null)SAVEAD+1 2080 (null)$E513 2090 (null)XYPOS 2100 (null)XYPOS+1 2110 (null)ENDIRQ 2120 ; 2130 ; 2140 LOAD (null)CHECKOLD 2150 (null)LEND 2160 (null) 2170 (null)LOAD2 2180 LEND (null)ENDIRQ 2190 ; 2200 ; 2210 ALOAD (null) 2220 MID$#$FF 2230 LEN#1 2240 (null)&$2B,Y 2250 (null)$A533 2260 PEEK$23 2270 MID$$22 2280 (null) 2290 VAL#2 2300 (null)*+3 2310 (null) 2320 (null)$2D 2330 (null)$2E 2340 (null)$A660 2350 (null) 2360 (null)LOAD2 2370 PCLOSE$CF,0 2380 (null) 2390 (null)$A47B 2400 ; 2410 ; 2420 REBULID 2430 (null)CHECKOLD 2440 (null)REND 2450 (null)GETNUMBER 2460 (null)SAVEPOS 2470 (null)R2 2480 (null)LOADPOS 2490 REND (null)ENDIRQ 2500 ; 2510 ; 2520 SWAP (null)CHECKOLD 2530 (null)SEND 2540 (null)GETNUMBER 2550 MID$$14 2560 (null) 2570 MID$$15 2580 (null) 2590 MID$$D6 2600 (null) 2610 MID$$D3 2620 (null) 2630 (null) 2640 (null)LOAD2 2650 (null) 2660 (null)XYPOS 2670 (null) 2680 (null)XYPOS+1 2690 (null) 2700 (null)SAVEAD+1 2710 (null) 2720 (null)SAVEAD 2730 SEND (null)ENDIRQ 2740 ; 2750 ; SUBROUTINEN 2760 ; 2770 LOAD2 (null)NL 2780 MID$#$EA 2790 FN$2C 2800 NL MID$#$2C 2810 (null)ANL 2820 MID$SAVEAD 2830 (null)$14 2840 MID$SAVEAD+1 2850 (null)$15 2860 (null)R2 2870 (null)ENDLO 2880 LENXYPOS 2890 PEEKXYPOS+1 2900 ANL FN$2C 2910 LEN#0 2920 (null)$E50C 2930 ENDLO (null) 2940 ; 2950 R2 (null)CHARNORM 2960 PCLOSE$C7,0 2970 (null)$D4 2980 (null)$A613;CALC ADDY 2990 LEN#$01 3000 MID$($5F),Y 3010 (null)ENDREB 3020 R3 MID$#147;CLRSCR 3030 FN$2C 3040 RLOOP MID$#13;CR 3050 (null)$FFD2 3060 (null)$9A44;'?'-LINE 3070 (null)SEARCHNEX 3080 (null)ENDREB-2 3090 MID$$D6 3100 STR$#24;LAST L.? 3110 (null)RLOOP 3120 (null) 3130 FN$24 3140 ENDREB (null) 3150 (null) 3160 ; 3170 ; GET HIGHEST / LOWEST LINES 3180 ;=============================== 3190 ; 3200 GET (null)CHARNORM 3210 (null)CHECKOLD 3220 (null)ENDGET 3230 (null)SAVEPOS 3240 MID$$2B 3250 (null)$5F 3260 MID$$2C 3270 (null)$60 3280 (null)CL25TH 3290 (null) 3300 (null)PRINTLINE 3310 PEEK$2E 3320 MID$$2D 3330 (null) 3340 (null)#$02 3350 (null)*+3 3360 (null) 3370 (null)$60 3380 (null)$5F 3390 (null)SEARCHBAC 3400 (null)CL1ST 3410 (null) 3420 (null)PRINTLINE 3430 (null)LOADPOS 3440 ENDGET (null)ENDIRQ 3450 ; 3460 ; 3470 ; 3480 ; SCROLLEN - HOCHWAERTS 3490 ;=============================== 3500 ; 3510 UP 3520 (null)GETNUMBER 3530 (null)$A613;LINE>ADDY 3540 (null)SAVEPOS 3550 ; 3560 UP1 MID$$5F;CHECK 3570 STR$$2B;LAST 3580 (null)UP2;LINE 3590 MID$$60 3600 STR$$2C 3610 (null)UP2 3620 (null)UDEND 3630 ; 3640 UP2 (null)SEARCHBAC 3650 SCROLLU PEEK#$FF;SCROLL 3660 U1 MID$$06C0,X 3670 (null)$06E8,X 3680 (null) 3690 (null)U1 3700 MID$$06C0 3710 (null)$06E8 3720 (null) 3730 U2 MID$$05C0,X 3740 (null)$05E8,X 3750 (null) 3760 (null)U2 3770 MID$$05C0 3780 (null)$05E8 3790 (null) 3800 U3 MID$$04C0,X 3810 (null)$04E8,X 3820 (null) 3830 (null)U3 3840 MID$$04C0 3850 (null)$04E8 3860 PEEK#$C0 3870 U4 MID$$03FF,X 3880 (null)$0427,X 3890 (null) 3900 (null)U4 3910 (null)CL1ST 3920 PEEK#$17 3930 COPY1 MID$$DA,X 3940 ASC#$7F 3950 LEN$D9,X 3960 (null)*+4 3970 (null)#$80 3980 (null)$DA,X 3990 (null) 4000 (null)COPY1 4010 MID$$D9 4020 (null)#$80 4030 (null)$D9 4040 ; 4050 PCLOSE$D4,0 4060 (null) 4070 (null)PRINTLINE 4080 ; 4090 PCLOSE$DC00,$FE 4100 MID$#%00010000 4110 (null)$DC01 4120 (null)UP3 4130 (null)UP1;AGAIN 4140 UP3 (null)UDEND 4150 ; 4160 ; 4170 ; 4180 ; SCROLLEN - RUNTERWAERTS 4190 ;=============================== 4200 ; 4210 ; 4220 DOWN 4230 (null)SAVEPOS 4240 (null)CHECKOLD 4250 (null)DOWN3 4260 PEEK#$C0 4270 LEN#$07 4280 (null)GETNUMBER+4 4290 (null)$A613;LINE>ADDY 4300 LEN#$01 4310 MID$($5F),Y 4320 (null)DOWN3 4330 ; 4340 DOWN2 (null)SEARCHNEX 4350 (null)SCROLLD 4360 DOWN3 (null)UDEND 4370 ; 4380 SCROLLD PEEK#0;SCROLL 4390 D1 MID$$0428,X 4400 (null)$0400,X 4410 (null) 4420 (null)D1 4430 D2 MID$$0528,X 4440 (null)$0500,X 4450 (null) 4460 (null)D2 4470 D3 MID$$0628,X 4480 (null)$0600,X 4490 (null) 4500 (null)D3 4510 PEEK#$40 4520 D4 MID$$06E8,X 4530 (null)$06C0,X 4540 (null) 4550 (null)D4 4560 (null)CL25TH 4570 PEEK#$00 4580 COPY2 MID$$D9,X 4590 ASC#$7F 4600 LEN$DA,X 4610 (null)*+4 4620 (null)#$80 4630 (null)$D9,X 4640 (null) 4650 TAN#$18 4660 (null)COPY2 4670 MID$$F1 4680 (null)#$80 4690 (null)$F1 4700 ; 4710 PCLOSE$D4,0 4720 (null) 4730 (null)PRINTLINE 4740 ; 4750 PCLOSE$DC00,$FE 4760 MID$#%00001000 4770 (null)$DC01 4780 (null)UDEND 4790 (null)DOWN2;AGAIN 4800 ; 4810 UDEND (null)LOADPOS 4820 ; 4830 ; 4840 ENDIRQ PCLOSE$C6,0 4850 (null)$D4 4860 NOKEY (null) 4870 PCLOSE$DC0D,$81 4880 (null)$EA81 4890 ; 4900 ; 4910 ; 4920 ; GET NUMBER 4930 ;============================== 4940 ; 4950 GETNUMBER PEEK#$00 4960 LEN#$04 4970 (null)$7A 4980 (null)$7B 4990 (null)CHARNORM 5000 PCLOSE$0300,<(ERROR) 5010 PCLOSE$0301,>(ERROR) 5020 (null) 5030 (null)ERROR+1 5040 ; 5050 (null)$AD8A 5060 (null)$B7F7 5070 ; 5080 ERRON PCLOSE$0300,$44 5090 PCLOSE$0301,$85 5100 (null) 5110 ; 5120 ERROR PEEK#$F3 5130 (null) 5140 (null) 5150 (null) 5160 (null)ERRON 5170 (null)ENDIRQ 5180 ; 5190 ; 5200 ; 5210 ; LINE-PRINT (C=1 / P=24) 5220 ;=============================== 5230 ; 5240 SAVEPOS (null)$E513 5250 (null)LOADPOS+1 5260 (null)LOADPOS+3 5270 (null) 5280 ; 5290 PRINTLINE LEN#$00 5300 (null)*+5 5310 PEEK#$00 5320 FN$2C 5330 PEEK#24 5340 (null)$E50C 5350 (null)$9A44 5360 ; 5370 LOADPOS LEN#$00 5380 PEEK#$00 5390 (null)$E50C 5400 ; 5410 ; 5420 ; 5430 ; SEARCH PREV. / NEXT LINE 5440 ;=============================== 5450 ; 5460 SEARCHBAC MID$$60;SEARCH 5470 (null)LASTHIGH;PREVIOUS 5480 CHR$$60;LINE 5490 LEN#$FE 5500 SEARCH MID$($5F),Y 5510 (null)FOUND 5520 SEARCH2 (null) 5530 (null)SEARCH 5540 ; 5550 FOUND (null) 5560 MID$($5F),Y 5570 STR$$5F 5580 (null)FOUND2 5590 (null) 5600 (null)SEARCH2 5610 ; 5620 FOUND2 (null) 5630 MID$($5F),Y 5640 STR$LASTHIGH 5650 (null)FOUND3 5660 (null) 5670 (null) 5680 (null)SEARCH2 5690 ; 5700 FOUND3 (null) 5710 (null) 5720 (null) 5730 VAL$5F 5740 (null)*+4 5750 RIGHT$$60 5760 (null)$5F 5770 (null) 5780 ; 5790 ; 5800 SEARCHNEX LEN#$00;SEARCH 5810 MID$($5F),Y;NEXT 5820 (null);LINE 5830 (null) 5840 MID$($5F),Y 5850 (null)$5F 5860 (null)$60 5870 MID$($5F),Y 5880 (null) 5890 ; CLOSE 5900 ; CLOSE 5910 ; 5920 ; VERSCHIEDENE UNTERPROGRAMME 5930 ;=============================== 5940 ; 5950 CL25TH MID$#32;CLEAR 5960 PEEK#$27;25TH 5970 (null)$07C0,X;LINE 5980 (null) 5990 (null)*-4 6000 (null) 6010 ; 6020 CL1ST MID$#32;CLEAR 6030 PEEK#$27;1ST 6040 (null)$0400,X;LINE 6050 (null) 6060 (null)*-4 6070 CLRTS (null) 6080 ; 6090 ; 6100 ; 6110 CHARNORM MID$$CF;CHAR IN 6120 (null)CLRTS;NORMAL- 6130 MID$$CE;ZUSTAND 6140 PEEK$0287 6150 LEN#$00 6160 (null)$CF 6170 (null)$EA13 6180 ; 6190 ; 6200 ; 6210 GFKEY TAN#$03; F-KEY 6220 (null)GFEND; CHECK 6230 TAN#$07 6240 (null)GFEND 6250 LENFFLAG 6260 (null)GFEND 6270 (null) 6280 (null) 6290 (null) 6300 MID$#1 6310 (null)$028D;SHIFT 6320 (null)*+7 6330 MID$FTAB+4,X;MIT 6340 (null)*+5 6350 MID$FTAB,X;OHNE 6360 (null)$0277 6370 MID$#13 6380 (null)$0277+1 6390 PEEK#$02 6400 (null)$C6 6410 (null)FFLAG 6420 GFEND (null)NOKEY 6430 ; 6440 ; 6450 ; 6460 CHECKOLD MID$$2C 6470 STR$$2E 6480 (null)*+9 6490 MID$$2D 6500 (null) 6510 (null)$2B 6520 STR$#$02 6530 (null) 6540 ; 6550 ; 6560 ; 6570 SET4 MID$#0; $94D3 6580 (null)IRQFLAG;+$971D 6590 (null)$A560 6600 MID$#1 6610 (null)IRQFLAG 6620 (null) 6630 SETPGE PEEK#$00 6640 (null)$0340 6650 (null)$0350 6660 (null) 6670 (null)$0360 6680 (null)$0370 6690 (null)$8537 6700 ACHECK LEN$033D 6710 (null)*+5 6720 RIGHT$$033D 6730 LEN$033B 6740 (null) 6750 (null)$02FE 6760 (null)$974F 6770 ; 6780 ; 6790 ; 6800 ; POSITIONSSPEICHER, TEXT .... 6810 ;================================ 6820 ; 6830 FFLAG 6840 FN0 6850 ; 6860 IRQFLAG 6870 FN0 6880 ; 6890 SAVEAD 6900 SPC(0 6910 XYPOS 6920 SPC(0 6930 ; 6940 FTAB 6950 NOT"IEXL 6960 [168]"@BYO 6970 ; 6980 TEXT 6990 NOT"__* GIGA-SCROLLEDIT V2_ 7000 [168]"* BY CHRISTIAN THRUM 7010 NOT" 1993_" 7020 ; 7030 JUMPTAB1 7040 FN<(SAVE-1),<(LOAD-1) 7050 FN<(REBULID-1),<(GET-1) 7060 FN<(THPOS-1),<(HOME-1) 7070 FN<(SWAP-1) 7080 ; 7090 JUMPTAB2 7100 FN>(SAVE-1),>(LOAD-1) 7110 FN>(REBULID-1),>(GET-1) 7120 FN>(THPOS-1),>(HOME-1) 7130 FN>(SWAP-1) 7140 KEYTAB 7150 FN13,42,17,26,7,2,20 7160 ; 7170 ; 7180 ; =============================== 7190 ; 7200 ; YO! THIS IS THE WAY WE GO .... 7210 ; 7220 ; GIGA-SCROLLEDIT V2 7230 ; CODED BY CHRISTIAN THRUM 7240 ; (SKYWALKER OF SUNBEAM !) 7250 ; CLOSE 7260 ; CLOSE 7270 ; CLOSE 7280 ; ORTANTAN^ 7290 ; (null)ORTANEXP 7300 ; (null)/TAN^ 7310 ; /TAN^(null)UNBEAM PRODUCTIONS 1993 7320 ; ORTANEXP(null) 7330 ; /TANTANEXP 7340 ;